package pcsr.hwVirtualization;

/**
 * The class <code>Sensor</code> implements this interface to provide synchronous access to sensor state.
 * Also define the way to change sensor's state.
 * 
 * @author Paulo Fagundes
 * 
 * @see Sensor
 */
public interface ISensorActions {

	/**
	 * Gets a refreshed status of this Sensor.
	 * @return Refreshed status.
	 * @see Sensor
	 */
	Sensor GetSensorStatus( );
	
	/**
	 * Defines a new value for the Sensor.
	 * @param sensorValue New Sensor value.
	 * @see Sensor
	 * @see SensorValue
	 */
	void SetSensorValue( final SensorValue sensorValue );
	
	/**
	 * Defines a new operating mode for the Sensor.
	 * @param sensorMode New Sensor operating mode.
	 * @see Sensor
	 * @see SensorMode
	 */
	void SetSensorMode( final SensorMode sensorMode );
	
	
}
